﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using RESTServicesMov.Dominio;
using System.Data.SqlClient;

namespace RESTServicesMov.Persistencia
{
    public class MovDetalleDAO
    {

        public MovDetalle CrearItemMov(MovDetallePOST itemACrear)
        {
            MovDetalle itemCreado = null;
            string sql = "INSERT into MOV_DETALLE values (@idmov, @pos, @idprod, @idcen, @cant, @text)";

                using (SqlConnection con = new SqlConnection(ConexionBD.ObtenerCadena()))
                {

                    con.Open();
                    using (SqlCommand com = new SqlCommand(sql, con))
                    {
                        com.Parameters.Add(new SqlParameter("@idmov", itemACrear.idmov));
                        com.Parameters.Add(new SqlParameter("@pos", itemACrear.pos));
                        com.Parameters.Add(new SqlParameter("@idprod", itemACrear.idprod));
                        com.Parameters.Add(new SqlParameter("@idcen", itemACrear.idcentro));
                        com.Parameters.Add(new SqlParameter("@cant", itemACrear.cant));
                        com.Parameters.Add(new SqlParameter("@text", itemACrear.txtPos));
                        com.ExecuteNonQuery();
                    }
                }

               itemCreado = ObtenerItemMov(itemACrear.idmov,itemACrear.pos);
                return itemCreado;
               
        }

        public MovDetalle ObtenerItemMov(int idmov, string pos)
        {

            MovDetalle movItemEncontrado = null;
            string sql = "SELECT * FROM MOV_DETALLE WHERE idMovi=@id AND pos=@pos";
            using (SqlConnection con = new SqlConnection(ConexionBD.ObtenerCadena()))
            {
                con.Open();
                using (SqlCommand com = new SqlCommand(sql, con))
                {
                    com.Parameters.Add(new SqlParameter("@id", idmov));
                    com.Parameters.Add(new SqlParameter("@pos", pos));
                    using (SqlDataReader resultado = com.ExecuteReader())
                    {
                        if (resultado.Read())
                        {
                            movItemEncontrado = new MovDetalle()
                            {
                                idmov = int.Parse(resultado["idMovi"].ToString()),
                                pos = (string)resultado["pos"],
                                idprod = int.Parse(resultado["idProducto"].ToString()),
                                idcentro = int.Parse(resultado["idCentro"].ToString()),
                                cant = Decimal.Parse(resultado["cant"].ToString()),
                                txtPos = (string)resultado["txtPos"],
                            };
                        }
                    }

                }
            }

            return movItemEncontrado;

        }


    }
}